summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-08-28 23:27:50 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-08-28 23:27:50 +0200
commit6f0d30ca4ecba351f1f7266b3187a625f0de60cd (patch)
tree685137b57d3b9dc6fbf7214857cff858b6825189
parent6cb7a551b22af7d1284f437f2285988d8d8e92d8 (diff)
downloadChimère - projet Saclay-6f0d30ca4ecba351f1f7266b3187a625f0de60cd.tar.bz2
Chimère - projet Saclay-6f0d30ca4ecba351f1f7266b3187a625f0de60cd.zip
Many improvment on the edit form - still work to do
-rw-r--r--forms.py2
-rw-r--r--static/saclay/css/styles-saclay.css24
-rw-r--r--static/saclay/images/close.pngbin856 -> 0 bytes
-rw-r--r--static/saclay/images/minus.pngbin0 -> 259 bytes
-rw-r--r--static/saclay/images/plus.pngbin0 -> 275 bytes
-rw-r--r--static/saclay/js/interface.js1
-rw-r--r--templates/chimere/blocks/map_params.html3
-rw-r--r--templates/chimere/blocks/submited.html23
-rw-r--r--templates/chimere/detail.html2
-rw-r--r--templates/chimere/edit.html60
-rw-r--r--views.py4
11 files changed, 69 insertions, 50 deletions
diff --git a/forms.py b/forms.py
index 77e9648..a06d67e 100644
--- a/forms.py
+++ b/forms.py
@@ -29,7 +29,7 @@ from chimere.widgets import TextareaWidget
class MarkerForm(BaseMarkerForm):
categories = forms.ChoiceField(choices=[], widget=forms.Select)
- description = forms.CharField(widget=TextareaWidget)
+ description = forms.CharField(widget=TextareaWidget, required=False)
def __init__(self, *args, **kwargs):
super(MarkerForm, self).__init__(*args, **kwargs)
diff --git a/static/saclay/css/styles-saclay.css b/static/saclay/css/styles-saclay.css
index d33c708..ec78996 100644
--- a/static/saclay/css/styles-saclay.css
+++ b/static/saclay/css/styles-saclay.css
@@ -48,7 +48,7 @@ body, h2, #content,
}
/* alternative background */
-.edit h4,
+ul#multimedia_list_content li,
#chimere_itinerary_content div.n, #action,
div.cloud h4, #detail_footer, .sidebar-handler:hover,
#ul_categories li.main_category .subcategories li span{
@@ -60,9 +60,15 @@ div.cloud h4, #detail_footer, .sidebar-handler:hover,
background-color:#00a3ff;
}
+/* blank */
+.edit h4{
+ background-color:#fff;
+}
+
/*
* Borders
*/
+ul#multimedia_list_content li,
.itinerary_label .label,
#detail_footer, div.cloud h4,
#areas, #detail, #main-map, div.warning,
@@ -109,12 +115,17 @@ h4{
font-weight:bold;
}
+.fieldWrapper{
+ padding:1px 4px;
+}
+
.edit h3{
text-align:left;
font-size:1.4em;
width:100%;
border-bottom:1px solid;
- padding:0.6em 0.4em;
+ padding:0 0 0.4em 0;
+ margin:0;
}
.edit h4{
@@ -123,7 +134,7 @@ h4{
border-bottom:1px solid;
width:100%;
cursor:pointer;
- margin-bottom:0.5em;
+ margin-top:0.5em;
}
.edit .minified{
@@ -141,6 +152,11 @@ h4{
.notice{
padding:0.4em;
font-size:0.8em;
+ margin:0;
+}
+
+.remove-media{
+ cursor:pointer;
}
#personalform, #multimedia_list{
@@ -481,7 +497,7 @@ div.cloud h4{
}
input#id_name{
- width:100%;
+ width:90%;
}
.single-line label{
diff --git a/static/saclay/images/close.png b/static/saclay/images/close.png
deleted file mode 100644
index f9e8d04..0000000
--- a/static/saclay/images/close.png
+++ /dev/null
Binary files differ
diff --git a/static/saclay/images/minus.png b/static/saclay/images/minus.png
new file mode 100644
index 0000000..a95822f
--- /dev/null
+++ b/static/saclay/images/minus.png
Binary files differ
diff --git a/static/saclay/images/plus.png b/static/saclay/images/plus.png
new file mode 100644
index 0000000..404a24a
--- /dev/null
+++ b/static/saclay/images/plus.png
Binary files differ
diff --git a/static/saclay/js/interface.js b/static/saclay/js/interface.js
index 5a1c061..d6944ab 100644
--- a/static/saclay/js/interface.js
+++ b/static/saclay/js/interface.js
@@ -17,6 +17,7 @@ $(function(){
};
$("#action-carte").click(function(){
+ $("#main-map").chimere('activateContextMenu');
$('#action-participate').removeClass('ui-state-active');
$('#action-carte').addClass('ui-state-active');
$('#edit-actions').hide();
diff --git a/templates/chimere/blocks/map_params.html b/templates/chimere/blocks/map_params.html
index 15672c2..cc0a89c 100644
--- a/templates/chimere/blocks/map_params.html
+++ b/templates/chimere/blocks/map_params.html
@@ -81,8 +81,7 @@
});
}
-
- chimere_init_options["default_icon"] = '{{STATIC_URL}}img/marker-green.png';
+ //chimere_init_options["default_icon"] = '{{STATIC_URL}}chimere/img/marker-green.png';
chimere_init_options["map_layers"] = [{{map_layers|safe|escape}}];
chimere_init_options['permalink_label'] = '{%trans "Permalink"%}';
chimere_init_options['permalink_element'] = document.getElementById('permalink');
diff --git a/templates/chimere/blocks/submited.html b/templates/chimere/blocks/submited.html
new file mode 100644
index 0000000..a000fc0
--- /dev/null
+++ b/templates/chimere/blocks/submited.html
@@ -0,0 +1,23 @@
+{% load i18n %}
+ <div class='edit' id='submited-window'>
+<p>En proposant un nouvel élément vous allez enrichir la carte avec des données
+libres. Le fenêtre apparaît sur la carte après que l’utilisateur ait proposé son
+lieu, sa balade.</p>
+<p>En effet, une fois validée, votre contribution sera disponible pour que
+chacun puisse la copier, la partager, la modifier selon les termes de la licence
+<a href='https://creativecommons.org/licenses/by-sa/3.0/fr/'>Creative Commons paternité</a>.</p>
+<p>Pour cela, notamment pour ce qui concerne les photos, merci de nous faire
+partager des éléments dont vous êtes l'auteur ou assurez-vous que l'auteur
+est d'accord avec ce type de distribution.</p>
+ </div>
+ <script type='text/javascript'>
+ $(function(){
+ $("#submited-window").dialog({
+ title:"{% trans "Thank you for your contribution to the project!" %}",
+ modal: true,
+ beforeClose: function() {
+ window.location = "{{index_url}}";
+ }
+ });
+ });
+ </script>
diff --git a/templates/chimere/detail.html b/templates/chimere/detail.html
index 660bd59..13b2231 100644
--- a/templates/chimere/detail.html
+++ b/templates/chimere/detail.html
@@ -1,5 +1,5 @@
{% load i18n sanitize chimere_tags %}
-<a href='#' class='close_img'><img src='{{STATIC_URL}}saclay/images/close.png' alt='close'/></a>
+<a href='#' class='close_img'><img src='{{STATIC_URL}}chimere/img/close.png' alt='close'/></a>
<h4>{{ marker.name }}</h4>
<div id='detail_content'>
{% if marker.default_pictures or marker.default_pictures or marker.default_multimedia_items%}
diff --git a/templates/chimere/edit.html b/templates/chimere/edit.html
index 6b107fe..b1aabfc 100644
--- a/templates/chimere/edit.html
+++ b/templates/chimere/edit.html
@@ -6,13 +6,10 @@
Consigne d'utilisation : Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu luctus ipsum. Donec vel urna a turpis consectetur consectetur. Vestibulum ut enim vel odio porta vulputate.
</div>
<p class='notice'>* {% trans "indicates a mandatory field" %}</p>
- {% if error_message %}
- <p>{{ error_message }}</p>
- {% endif %}
- <form enctype="multipart/form-data" method='post' action='.'>
+ <form enctype="multipart/form-data" method='post' action='.' id='marker_form'>
{% csrf_token %}
{%if form.point.errors %}<ul class="errorlist"><li>{% trans "Select a location for this new site" %}</li></ul>{%endif%}
- {% comment %}{{point_widget}}{% endcomment%}
+ <input type='hidden' id='id_point' name='point'/>
<div class="fieldWrapper">
<label for="id_name">{% trans "Name of the location"%} *</label>
{% if form.name.errors %}<div class='errors'>{{ form.name.errors }}</div>{% endif %}
@@ -69,29 +66,7 @@
{% endif %}
<h4 id='head_multimedia' class='toggle minified'>Images, audios, vidéos</h4>
- <div id='multimedia_list'>
- <ul id='multimedia_list_content'>
- </ul>
- <button id='add_multimedia_list'>{% trans "Add" %}</button>
- </div>
- <div id='multimedia_form' title="{% trans "Add multimedia from your computer or a site"%}">
- <div class='notice'>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu luctus ipsum. Donec vel urna a turpis consectetur consectetur. Vestibulum ut enim vel odio porta vulputate.
- </div>
- <div class="fieldWrapper">
- <label for="multimedia_list_name">{% trans "Name" %}</label>
- <input type='text' id='multimedia_list_name' name='multimedia_name'>
- </div>
- <div class="fieldWrapper">
- <input type='radio' value='image' id='media_type_image' name="multimedia_type"> {% trans "Image" %}
- <input type='radio' value='other' id='media_type_other' name="multimedia_type"> {% trans "Audio, video, other..." %}
- </div>
- <div class="fieldWrapper">
- <label for='multimedia_file'>{% trans "Download"%}</label> <input type='file' name='multimedia_file' id='multimedia_file'>
- <p class='notice'>{% trans "Or" %}</p>
- <label for='multimedia_url'>{% trans "Web address"%}</label> <input type='text' name='multimedia_url' id='multimedia_url'>
- </div>
- <button>{% trans "Add" %}</button>
- </div>
+ {% alternate_multimedia formset_multi formset_picture %}
<h4 id='head_personalform' class='toggle minified'>{% trans "Personal information"%}</h4>
<div id='personalform'>
<div class="fieldWrapper">
@@ -114,17 +89,10 @@
<p>{% trans "Upload in progress. Please wait..." %}</p>
<p><img src='{{STATIC_URL}}chimere/img/ajax-loader.gif'/></p>
</div>
+ <p><button id='marker_form_submit' type='button'>{% trans 'Propose'%}</button></p>
<script text='text/javascript'>
$(function(){
- $("#multimedia_form").dialog({
- autoOpen:false,
- modal:true,
- width:400,
- height:300});
- $('#add_multimedia_list').click(function(){
- $("#multimedia_form").dialog("open");
- return false;
- });
+ $("#main-map").chimere('activateMarkerEdit');
$('.toggle').click(function(){
var div_item = $(this).next();
div_item.toggle();
@@ -140,15 +108,23 @@
modal: true,
resizable:false,
height:110,
- autoOpen:false
+ autoOpen:false,
+ dialogClass:'alert-box'
}
);
- function displayProgress(){
+ $('#marker_form_submit').click(function(){
+ // tests...
$("#upload_in_progress").dialog('open');
- return true;
- }
+ tinyMCE.triggerSave();
+ $.post("{% url edit %}", $('#marker_form').serialize(),
+ function(data){
+ $("#frm-edit-marker").html(data);
+ $("#panel").scrollTop(0);
+ $("#upload_in_progress").dialog('close');
+ }
+ );
+ });
});
</script>
- <p><input type='submit' onclick='saveExtent();displayProgress();' value="{% trans 'Propose'%}"/></p>
</form>
</div>
diff --git a/views.py b/views.py
index 4bc5bc6..ebdd5fd 100644
--- a/views.py
+++ b/views.py
@@ -44,6 +44,10 @@ def edit(request, area_name="", item_id=None, submited=False):
declared_fields = PropertyModel.objects.filter(available=True).all()
filtered_properties = PropertyModel.objects.filter(available=True,
subcategories__id__isnull=False).all()
+ if hasattr(formset_multi, 'errors'):
+ print formset_multi.errors
+ if hasattr(formset_picture, 'errors'):
+ print formset_picture.errors
response_dct.update({
'actions':actions,
'action_selected':('contribute', 'edit'),